#ifndef _MODULE_VERSION_WIDGET_H_
#define _MODULE_VERSION_WIDGET_H_


#include <QWidget>
#include <QComboBox>
#include <QHBoxLayout>
#include <QHeaderView>
#include <QLabel>
#include <QPushButton>
#include <QWidget>
#include <list>
#include <map>
#include "module.h"

class ModuleWidget : public QWidget
{
    Q_OBJECT
public:
    explicit ModuleWidget(QWidget *parent = 0);
    virtual ~ModuleWidget();

    virtual void buildWidget(std::list<Module>);
    virtual void updateModuleListView(std::list<Module>);


protected:
    QHBoxLayout       *ModuleReleaseLayout;
    QLabel            *module;
    QComboBox         *modulename;
    QComboBox         *version;
    QPushButton       *pushButton;
//    std::list<Module>  module_list;
    std::map<std::string, Module> module_list;

signals:
  void moduleWidgetUpdated(const Module &);

public slots:
    void moduleRefreshClicked ( void );
    void moduleNameIndexChanged ( const QString & );
    void moduleVersionIndexChanged ( const QString & );

};



#endif //_MODULE_VERSION_WIDGET_H_
